package com.imc.platform.base.user.service;

import com.github.pagehelper.PageInfo;
import com.imc.api.order.pojo.UserOrgAccount;
import com.imc.platform.base.user.pojo.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Map;

public interface IUserService {

    PageInfo<User>queryAll(int pageNumber,int pageSize);

    User queryUserById(String userId);

    UserSub queryUserOrgAccountByOrgIdAndParentId(String orgId,String parentId);

    int updateUserOrgAccountLessonAccount(String orgId,String parentId,String lessonAccount);

    String addUser(Map<String,Object> parms);

    int delUserById(String userId);

    int delUserSubById(String id);

    int updateState(String state,String userId);

    int updateUserByUserId(Map<String,Object>parms);

    int queryUserByLoginName(String loginName);

    PageInfo<User>queryUserByUserName(int pageNumber,int pageSize,String select,String duty,String orgId,String type);

//    Map<String,List<String>> addUserOrgList(List<Map<String,Object>>parmsList,String userId);

    List<String> queryUserOrgByUserId(String UserId);

    void addUserAttach(UserAttach userAttach);

    UserAttach queryUserDescAllByUserId(String userId);

    void updateUserDesc(User user);

    void delUserAttach(String id,String imgUrl);

    int insertUserCountLog(UserCountLog userCountLog);

    UserOrgAccount queryOrderById(String id);

    PageInfo<Map<String,Object>> queryUserSubById(String id, Pageable pageable,String orgId,String currentUserId,String dutyFlag);

    User queryUserByLoginName1(String loginName);

    UserOrgAccount queryUserOrgAccount(String userId);

    User queryRoleUserByLoginName(String loginName);

    PageInfo<Map<String,Object>> getUserACountById(Pageable pageable,String userCountId);

    int updateLessonAccountById(UserOrgAccount userOrgAccount);

    int insertLessonAccount(UserOrgAccount userOrgAccount);
}
